import observe from "./observe";
export default function defineReactive(data, key, value) {
    // alert(1)
    if (arguments.length === 2) {
        value = data[key] // 这个这个接收到的参数只有两个的话，代表此时传入的是一个整体的大对象，这时将value设置为他在对象中的本身值
    }
    let childOb = observe(value)
    Object.defineProperty(data, key, {
        enumerable: true,
        configurable: true,
        get() {
            console.log(`访问${key}属性`);
            return value // 这里利用函数的闭包原理
        },
        set(newValue) {
            if (newValue === value) {
                return
            }
            console.log(`设置${key}属性`);
            value = newValue
            childOb = observe(newValue)
        }
    })
}